#pragma once

#include "includeBase.h"

class AppWindow
{

private:
    AppWindow();

public:
    static AppWindow& init(QMainWindow* mainWindow);
    static AppWindow& get()
    {
        static AppWindow self;
        return self;
    }

    // methods
    void info(const QString& message);

    // getter and setter
    QMainWindow* mainWindow() const { return mainWindow_; }
    void setMainWindow(QMainWindow* value) { mainWindow_ = value; }

protected:
    QMainWindow* mainWindow_ = nullptr;
};

extern AppWindow& appWindow;
